package c06_herencies_pila;
// #[regen=yes,id=DCE.442D0725-853B-EEF1-3875-FEAC503E1F05]
// </editor-fold> 

public class MyPila implements Pila {
    private Node cim;
    private Object x;


    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F0A378D0-BFEC-CF87-F26D-BB29F190ED16]
    // </editor-fold>
    /**
     * inicialitzem la pila
     */
    public MyPila () {
        cim = null;
    }
/**
 *
 * @return true si la pila està buida
 */
    public boolean esBuida( ) {
        return cim == null;
    }
/**
 * buida tota la pila
 */
    public void buidar( ) {
        cim = null;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.41FB2222-FD46-909F-E974-615904613261]
    // </editor-fold>
 /**
  *
  * @param x : és l'Object a apilar.Mètode push de la classe pila de java
  */
    public void apilar (Object x) {
        cim = new Node(x,cim);
     }
//       if (esbuida()) {
//          cim.setDades(x);
//          cim.setSeguent(null);
//       }else{
//            nodes.setSeguent(cim);
//            cim = nodes;
//            cim = new Node(x,cim);
//       }    

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.ED747ED2-EAD4-99C8-06D2-B1C04A3BCD84]
    // </editor-fold>
    /**
     *
     * @throws Exception : llença una excepció si la pila és buida; desapila la pila fent del cim el següent.Mètode pop de la classe a Java
     */
    public void desapilar () throws Exception {
          if ( esBuida( ) )
            throw new Exception("pop ! desapilar");
            cim = cim.seguent;
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C81D40C6-064F-B9A1-D94B-B370FF2E9FEE]
    // </editor-fold>
    //peak
    /**
     *
     * @return dades : retorna el Object(dades) del cim
     * @throws Exception : llença una excepció si la pila és buida; mètode peak a la classe pila Java
     */
    public Object cim () throws Exception {
        if ( esBuida( ) ) 
            throw new Exception("cim");
            return cim.dades;
    }
}

